Amal R's profile

Mijn vijfluik

Mijn vijfluik
~ Amal Rahimli ~
https://linktr.ee/scripty2k

Inleiding
Dagelijks reisde ik 2 uur heen en terug, werd vaak ziek, maar uiteindelijk haalde ik plezier uit dit jaar. En dat vind ik tenminste belangrijk. Het begon in het begin van het jaar als een experimentele ervaring, maar ik ben gegroeid en heb waardevolle lessen geleerd. Nu is het tijd om terug te kijken op mijn reis en te erkennen hoe ver ik ben gekomen.


Hierbij heb ik een game gemaakt.
Mijn game heeft geen doel. Maar laat wel zien wat ik allemaal dit jaar heb gemaakt. Dit is mijn vijfluik.


Hoe het werkt / Mijn proces


En nu door alle stappen heen

Stap 1
In het begin had ik eigenlijk geen idee wat ik precies wilde creëren. Ik worstelde met de vraag hoe ik mijn idee het beste kon presenteren. Hoewel ik zeker wist dat het een game zou worden, had ik in eerste instantie nog geen concreet beeld van wat ik precies voor ogen had. Toch besloot ik uiteindelijk om te beginnen met het ontwikkelen van een kleine kamer, waarin ik me kon bewegen als speler, en een camerasysteem dat dit alles zou ondersteunen. Het was een stap in de goede richting om mijn visie vorm te geven.



CAMERA SCRIPT:
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
     
    public class CameraMove : MonoBehaviour
    {
     
        private const float YMin = -50.0f;
        private const float YMax = 50.0f;
     
        public Transform lookAt;
     
        public Transform Player;
     
        public float distance = 10.0f;
        private float currentX = 0.0f;
        private float currentY = 0.0f;
        public float sensivity = 4.0f;
     
     
        // Start is called before the first frame update
        void Start()
        {
         
     
        }
     
        // Update is called once per frame
        void LateUpdate()
        {
     
            currentX += Input.GetAxis("Mouse X") * sensivity * Time.deltaTime;
            currentY += Input.GetAxis("Mouse Y") * sensivity * Time.deltaTime;
     
            currentY = Mathf.Clamp(currentY, YMin, YMax);
     
            Vector3 Direction = new Vector3(0, 0, -distance);
            Quaternion rotation = Quaternion.Euler(currentY, currentX, 0);
            transform.position = lookAt.position + rotation * Direction;
     
            transform.LookAt(lookAt.position);
     
         
     
        }
    }
    



MOVEMENT SCRIPT:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

[RequireComponent(typeof(CharacterController))]
public class PlayerMove : MonoBehaviour
{
    [SerializeField] private string horizontalInputName = "Horizontal";
    [SerializeField] private string verticalInputName = "Vertical";

    [SerializeField] private float movementSpeed = 2f;

    private CharacterController charController;

    private void Awake()
    {
        charController = GetComponent<CharacterController>();
    }

    private void Update()
    {
        PlayerMovement();
    }

    private void PlayerMovement()
    {
        float vertInput = Input.GetAxis(verticalInputName) * movementSpeed;     //CharacterController.SimpleMove() applies deltaTime
        float horizInput = Input.GetAxis(horizontalInputName) * movementSpeed;

        Vector3 forwardMovement = transform.forward * vertInput;
        Vector3 rightMovement = transform.right * horizInput;

        //simple move applies delta time automatically
        charController.SimpleMove(forwardMovement + rightMovement);
    }
}







Ik had een begin. Nu naar
stap 2

Nu ik eindelijk een eigen kamer heb waarin ik vrij kan rondkijken en bewegen, voelde ik me oprecht verheugd dat ik iets tastbaars had gecreëerd. Terwijl ik bezig was met het ontwikkelen van het camerascript, ontstond er een briljant idee in mijn hoofd: waarom zou ik geen mini-museum maken? Met dit enthousiasme begon ik aan het proces van het maken van een videospeler script. Het bleek geen gemakkelijke opgave, maar ook zeker niet onmogelijk. Ik dook in talloze tutorials om erachter te komen hoe dit precies werkte en hoewel ik in eerste instantie een klein succesje boekte, werd ik al snel geconfronteerd met allerlei foutmeldingen. Van de ene fout naar de andere ging ik, maar uiteindelijk slaagde ik erin om alles op te lossen en weer op het juiste spoor te komen.







VIDEO INTERACTION SCRIPT:
 
using UnityEngine;
using UnityEngine.Video;

public class VideoPlayerInteraction : MonoBehaviour
{
    public VideoPlayer videoPlayer;
    public KeyCode interactionKey = KeyCode.E;
    public KeyCode muteToggleKey = KeyCode.V;
    public Canvas interactionCanvas;
    private bool isInRange = false;
    private AudioSource audioSource;
    private bool isMuted = false;

    private void Start()
    {
        audioSource = GetComponent<AudioSource>();
    }

    private void OnTriggerEnter(Collider other)
    {
        if (other.CompareTag("Player"))
        {
            isInRange = true;
            interactionCanvas.gameObject.SetActive(true);
        }
    }

    private void OnTriggerExit(Collider other)
    {
        if (other.CompareTag("Player"))
        {
            isInRange = false;
            interactionCanvas.gameObject.SetActive(false);
        }
    }

    private void Update()
    {
        if (isInRange)
        {
            if (Input.GetKeyDown(interactionKey))
            {
                PlayFullscreenVideo();
            }
            else if (Input.GetKeyDown(muteToggleKey))
            {
                ToggleMute();
            }
        }
    }

    private void PlayFullscreenVideo()
    {
        // Pause the video before changing to fullscreen
        videoPlayer.Pause();

        // Reset the video to the starting position (0 seconds)
        videoPlayer.time = 0f;

        // Enable fullscreen mode
        videoPlayer.playOnAwake = true;
        videoPlayer.targetCamera = Camera.main;

        // Play the video in fullscreen
        videoPlayer.Play();
    }

    private void ToggleMute()
    {
        isMuted = !isMuted;
        audioSource.mute = isMuted;
    }
}







Ik weet wat ik nu moet doen, maar wat kan ik nog toevoegen?
Stap 3

Met veel plezier wil ik graag mijn recente creatie delen op mijn Behance-pagina. Tijdens het proces van stap 3 heb ik enthousiast allerlei extra elementen toegevoegd, zoals een geweldig hoofdmenu, handige links en zelfs boeiende video's. Helaas heb ik nog niet de vaardigheden om complexe modellen te maken, dus het creëren van 3D-modellen in programma's zoals Blender is voor mij nog een uitdaging. Daarom ziet het er zo leeg uit...

Maar ik ben vastbesloten om die vaardigheden te leren en mezelf te verbeteren. Ondanks dat ik nog veel moet leren, was het maken van dit project ontzettend leuk! Ik heb er enorm veel van geleerd en het heeft me geïnspireerd om buiten school mijn eigen game te ontwikkelen. Het is altijd al een droom van me geweest en dit project heeft me nog meer motivatie gegeven om die droom werkelijkheid te laten worden.




Finishing touches
De laatste stap

Als laatste stap heb ik besloten om alles wat ik tot nu toe had gecreëerd naar een hoger niveau te zetten. Ik heb mijn volledige aandacht besteed aan het verbeteren van de gebruikersinterface (UI) door animaties toe te voegen en het design te verbeteren. Het resultaat was een aesthetic aantrekkelijker geheel, dat de algehele ervaring van mijn project aanzienlijk versterkte. Door deze verbeteringen voelde alles net wat mooier en zorgde het voor een betere samenhang binnen het geheel. Het is geweldig om te zien hoe deze kleine veranderingen een groot verschil kunnen maken in de presentatie en de algehele indruk van mijn werk.






Nawoord

Ik ben wel blij hoe het is uitgekomen. Ben best vaak ziek geweest dus helaas kon ik niet echt vragen om feedback. Maar ik kon me thuis stiekem beter concentreren om heel eerlijk te zijn. Ook al was ik vaak ziek. 2 uur reizen doet wel wat met je.

Uiteindelijk heb ik bijgehouden hoeveel tijd ik heb besteed aan unity en after effects (het filmpje boven aan). Op het unity project heb ik 30 uur en op het filmpje 4. Ik vond het best leuk om dit te doen. Het heeft me wel motivatie gegeven om een game te maken buiten school.

En over het jaar gesproken vond ik het wel een pittig jaar omdat ik vaak ziek werd en veel heb gemist. Maar uiteindelijk heb ik plezier in genomen.

Einde.



Mijn vijfluik
Published:

Mijn vijfluik

Published:

Creative Fields